/**
 * 
 */
package sv.gob.mh.dgii.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;

/**
 * @author ricardo.ardon
 *
 */
@Entity
@Table(name = "CG_PORCENTAJE", schema = "UPET", uniqueConstraints = { @UniqueConstraint(columnNames = { "N_PORCENTAJE","N_CASO" }) })
@SequenceGenerator(name="SEQ_CG_PORCENTAJE" , sequenceName="SEQ_CG_PORCENTAJE")
public class CgPorcentaje implements Serializable {

	private Long nporcentaje;
	
	private CgCaso cgCaso;
	
	private Date fhingreso;
	
	private String cusuario;
	
	private Double vporcentaje;
	
	
	/**
	 * 
	 */
	public CgPorcentaje() {
		// TODO Auto-generated constructor stub
	}
	
	public CgPorcentaje(String cusuario, Date fhingreso, CgCaso cgCaso,
			Long nporcentaje, Double vporcentaje) {
		super();
		this.cusuario = cusuario;
		this.fhingreso = fhingreso;
		this.cgCaso = cgCaso;
		this.nporcentaje = nporcentaje;
		this.vporcentaje = vporcentaje;
	}
	
	@Id
	@Column(name = "N_PORCENTAJE", unique = true, nullable = false, insertable = true, updatable = true, precision = 10, scale = 0)
	@GeneratedValue(strategy=GenerationType.AUTO, generator="SEQ_CG_PORCENTAJE")
	public Long getNporcentaje() {
		return nporcentaje;
	}
	
	public void setNporcentaje(Long nporcentaje) {
		this.nporcentaje = nporcentaje;
	}
	
	@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumn(name = "N_CASO", nullable = false)
	public CgCaso getCgCaso() {
		return cgCaso;
	}

	public void setCgCaso(CgCaso cgCaso) {
		this.cgCaso = cgCaso;
	}

	
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FH_INGRESO", unique = false, nullable = true, insertable = true, updatable = true, length = 7)
	public Date getFhingreso() {
		return fhingreso;
	}


	public void setFhingreso(Date fhingreso) {
		this.fhingreso = fhingreso;
	}
	
	@Column(name = "C_USUARIO", unique = false, nullable = false, insertable = true, updatable = true, length = 30)
	public String getCusuario() {
		return cusuario;
	}
	
	public void setCusuario(String cusuario) {
		this.cusuario = cusuario;
	}
	
	@Column(name = "V_PORCENTAJE", unique = false, nullable = true, insertable = true, updatable = true, precision = 5, scale = 2)
	public Double getVporcentaje() {
		return vporcentaje;
	}
	
	public void setVporcentaje(Double vporcentaje) {
		this.vporcentaje = vporcentaje;
	}
	
}
